import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

/**
 * Created with IntelliJ IDEA.
 * Description: 登录的实现
 */
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 处理用户请求
        String userName = req.getParameter("username");
        String passWord = req.getParameter("password");
        // 判定用户名和密码是否正确
        // 正常情况判定操作要放到数据库进行存取
        // 此处为了简单直接写死
        if("zhangsan".equals(userName) && "123".equals(passWord)) {
            // 登录成功
            // 创建会话，如果没有会话信息，就创建一个会话，并创建一个sessionId
            // 并在getSession内部就把 sessionId 写到响应中的 set-cookie
            // 这样就能保证浏览器拥有了 sessionId，并在之后的请求cookie中自动包含sessionId
            HttpSession httpSession = req.getSession(true);
            // 往会话中存储键值对，必要的身份信息（自定义）
            httpSession.setAttribute("username", userName);
            // 重定向到index
            resp.setContentType("text/html; charset=utf8");
            resp.sendRedirect("index");
        }else {
            // 登录失败
            resp.getWriter().write("login failed!");
        }
    }
}
